iT邦幫忙

DAY 19
0

從想法到快速實作的捷徑:Rails系列 第 19

[ Day 19 ] 支援多國語系 - i18n

  • 分享至 

  • xImage
  •  

如果說做一個網站自己卻沒支援多國語系那真的太奇怪了。

(想想也還好啦XD)

要做的話可以使用rails內建的i18n,可以將所有要顯示的文字放在同一個地方,

這樣做的好處除了支援多國語系之外,(其實目前也就英語和中文XD)

如果以後要改某個地方的文字,那就只要直接從yml檔去改一次就好了。

首先要到application.rb這隻檔案打開並更動這行,

config.i18n.default_locale = :'zh-TW

接著就可以把我們要設定的yml放進去config/locale底下,

只要照著一定的格式去建立yml檔案,在使用form_for時候會幫我們自己引用

這裡以我們現有的model舉例:

zh-TW:
  attributes:
      email: 聯絡信箱
      password: 密碼
      tel: 聯絡電話(市話)
      mobile: 聯絡電話(行動)
      address: 聯絡地址
      link: 網址
      about: 簡介
      description: 敘述
      tag_list: 標籤
      image: 圖片
      status: 狀態
      status_text: 狀態
      brief: 摘要
  activerecord:
    models:
      user: 譯者
      post: 文章
    attributes:
      user:
        name: 名字
        email: email
        password: 密碼
      post:
        title: 標題
        content: 內容
        source: 資料來源
        note: 備註

如果是要另外取出來使用的話也很簡單:

<h1><%= t('attributes.email') %></h1> 

這樣就可以拿到"聯絡信箱"這個字串了,

剩下就看自己怎樣設定了,可以先上rails-i18n的github頁面把一些別人翻譯過的clone來用,

不要傻傻的一個一個打。

參考資料:
https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/zh-TW.yml
http://ihower.tw/rails3/i18n.html


上一篇
[ Day 18 ][ Dev ] 簡單的Model資料表關聯
下一篇
[ Day 20 ] 文章的分類功能 - (上)
系列文
從想法到快速實作的捷徑:Rails30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言